Appliance and method for navigating among multiple captured images and functional menus

ABSTRACT

A capturing and viewing appliance and method are used for capturing and communicating images. The capturing and viewing appliance is an instrument used to capture and communicate images to other devices with communication capabilities. The capturing and viewing appliance includes a processor for manipulating and viewing the images on a built-in display. Program code stored in internal memory includes a menu/image navigation application program which allows the user to use navigation buttons to view multiple images as well as navigate menus. According to another aspect of the invention, the menu/image navigation interface provides a user-friendly interface for effective communication of functionality of an appliance or other device to the user through use of animated transitions. Through the use of icons, menus, navigation buttons and animated transitions used to communicate functionality to the user, the present invention presents a novel user interface which makes the menu/image navigation user interface and method a solution in devices with limited resources which need to be able to navigate among multiple images arranged in different orientations. The menu/image navigation appliance and method is designed for navigating among multiple captured images and operating the appliance using menus through instrument reuse which is especially useful in portable hand-held appliances or other devices which are capable of displaying images where space and compactness are a concern.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.09/130,584 filed Aug. 7, 1998 entitled “APPLIANCE AND METHOD FORNAVIGATING AMONG MULTIPLE CAPTURED IMAGES AND FUNCTIONAL MENUS,” issuedas U.S. Pat. No. 6,232,973, issued on May 15, 2001, now pending andincorporated herein by reference.

This application is related to U.S. application entitled “APPLIANCE ANDMETHOD OF USING SAME HAVING A SEND CAPABILITY FOR STORED DATA” issued asU.S. Pat. No. 6,396,518, issued on May 28, 2002, U.S. applicationentitled “APPLIANCE AND METHOD OF USING SAME HAVING A USER HELPCAPABILITY” issued as U.S. Pat. No. 6,549,304, issued on Apr. 15, 2003,U.S. application entitled “APPLIANCE AND METHOD OF USING SAME FORCAPTURING IMAGES” issued as U.S. Pat. No. 6,446,231, issued on Oct. 15,2002, U.S. application entitled “APPLIANCE AND METHOD OF USING SAMEHAVING A DELETE CAPABILITY FOR SAVED DATA” issued as U.S. Pat. No.6,341,181, issued on Jan. 22, 2002, U.S. application entitled “APPLIANCEAND METHOD OF USING SAME HAVING A CAPABILITY TO GRAPHICALLY ASSOCIATEAND DISASSOCIATE DATA WITH AND FROM ONE ANOTHER” issued as U.S. Pat. No.6,469,689, issued on Oct. 22, 2002, U.S. application entitled “APPLIANCEAND METHOD FOR NAVIGATING AMONG MULTIPLE CAPTURED IMAGES AND FUNCTIONALMENUS” issued as U.S. Pat. No. 6,232,973, issued on May 15, 2001, U.S.application entitled “APPLIANCE AND METHOD FOR CAPTURING IMAGES HAVING AUSER ERROR INTERFACE” issued as U.S. Pat. No. 6,301,020, issued on Oct.9, 2001, U.S. application entitled “APPLIANCE AND METHOD FOR VIEWINGCAPTURED IMAGES” issued as U.S. Pat. No. 6,441,927, issued on Aug. 27,2002, and U.S. application entitled “APPLIANCE AND METHOD FOR MENUNAVIGATION” issued as U.S. Pat. No. 6,160,926, issued on Dec. 12, 2000,which are filed contemporaneously herewith and are incorporated hereinby reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to the field of digitalcapturing and, more particularly, relates to a user interface for aportable hand-held capturing appliance for capturing and manipulatingimages through digital scanning or other means of capturing andcommunicating those images to other devices.

2. Related Art

Intangible information is a vital business asset that can be exploitedfor competitive advantage if managed properly. In the past fifteenyears, improvements in information processing have been achievedprimarily from the widespread use of microcomputers in the workplace andtheir application in local and wide area networks. Through suchapplications as electronic mail (email) and networked access to documentstorage servers, the electronic communications market has exploded.Nevertheless, business is still far from reaching a “paperless”workplace. For example, according to a 1993 report by BIS StrategicDecisions (hereinafter BIS), an information technology consulting firm,more than 90 billion documents were created in 1992 and more than 1trillion copies of those documents were made. Moreover, BIS estimatedthat printing and copying expenses average between 6% and 13% of atypical company's revenue. These statistics illustrate the economicsavings available for those businesses that are able to merge paper andtechnology in a unified information processing strategy.

One tool that has proven useful for translating between paper andelectronic information is the digital scanner. Scanner-enabled documentdistribution endows paper-based documents with the speed and convenienceof electronic communications. A desktop scanner or network scannerallows business professionals to scan paper-based documents, manage themeffectively and distribute them in a timely fashion. Users can share anddistribute information easily by scanning directly to their email or PCfax applications. The growing popularity of fax modems and email isdriving the acceptance of scanner-enabled document distribution inoffices of all sizes. Fax/modem capabilities, which are available withvirtually all modern PCs, enable users to send and receive faxesdirectly from a computer—at their desk or while traveling—and to checkemail remotely.

Nevertheless, while scanners are ideal for users who need to disseminatepaper-based information to colleagues through PC facsimile and/or email,traditional flatbed scanners lack the convenience and flexibility thatusers have become accustomed to through such products as notebookcomputers and cellular phones. Hand-held scanners are an improvement inthis regard; however, they are typically dependent on a host computerfor displaying the scanned images and for providing power. U.S. Pat. No.5,550,938 to Hayakawa et al. (hereinafter Hayakawa) discloses a portableimage scanner designed to overcome these disadvantages. Specifically,Hayakawa discloses a hand-held cordless image scanner having adisplay/control screen, a memory for storing scanned images, a selfcontained power supply and an interface that allows the scanner to bereceived by a host computer as a memory card for transferring storedimages from the scanner to the computer. While Hayakawa's scanner iseffective in breaking the dependency on a host computer for imagedisplay and power, it still has several drawbacks. For example,Hayakawa's scanner offers no image processing features other than thecapabilities of storing or discarding a newly scanned image andreviewing those images that have been stored previously. More advancedimage processing would necessarily be done after transfer to a hostcomputer. Moreover, Hayakawa does not offer a graphical user interface(GUI) containing icons and/or animations to assist users in operatingtheir device. Finally, transfer of images is limited to those deviceshaving ports for receiving an external memory card or the capability ofreading the scanner memory through a memory card drive.

Accordingly, a heretofore unaddressed need exists in the industry forproviding a hand-held image capturing appliance and method that allowsusers to navigate among multiple captured images, as well as functionalmenus in the appliance before transferring the captured images to someother unit such as a computer, printer, or facsimile machine. Inaddition, the capturing device should provide cordless operation and usea standard interface for transferring images to other devices. A GUI ispreferred to assist users, particularly novices, in operating thedevice.

SUMMARY OF THE INVENTION

The present invention overcomes the inadequacies and deficiencies of theprior art as discussed hereinbefore. The present invention provides animage capturing appliance incorporating a menu/image navigationinterface for communicating with and allowing the user to view multiplecaptured images as well as navigate menus on the appliance. Themenu/captured image navigation interface and method facilitate ease ofuse and hardware simplification and miniaturization of the capturingappliance for seamless integration of the appliance into a consumer'sexisting tools and processes.

The capturing appliance contains a capturing means such as photocellsand a storage means for storing captured images. A processing means isalso provided for processing the acquired image and displaying it on aself-contained display of the appliance. Program instructions areprovided in the memory of the appliance which allows the user to viewand manipulate the captured image in a variety of pixel resolutions onthe display of the appliance.

The menu/image navigation interface and method provides a user interfaceincorporating on-screen icons, directional navigation buttons fordesignating captured images to be viewed as well as selecting items fromuser interface menus, and other functional buttons to be used inconjunction with the navigation buttons to execute tasks on thecapturing appliance. Also included are animated transitions tocommunicate to the user navigation among multiple captured images andmenus on the display of the appliance.

The menu/image navigation interface and method of the present inventionhave many advantages, a few of which are delineated hereafter, asexamples.

An advantage of the menu/image navigation interface and method of thepresent invention is that they provide a simple procedure for navigatingamong multiple captured images on an appliance using functional buttonswhich serve other purposes in other operational states of the appliance.

Another advantage of the menu/image navigation interface and method ofthe present invention is that they provide a more flexible and userfriendly procedure for inspecting multiple captured images on anappliance.

Another advantage of the menu/image navigation interface and method ofthe present invention is that they provide a way of navigating menus inoperating the appliance using functional buttons that serve otherpurposes in other operating states of the appliance.

Another advantage of the menu/image navigation interface and method ofthe present invention is that they provide a novel way of communicatingfunctionality to the user through the use of animation.

Another advantage of the menu/image navigation interface and method ofthe present invention is that they provide for a procedure fornavigating among images and menus in an appliance which is simple, easyto learn and efficient.

Another advantage of the menu/image navigation interface and method ofthe present invention is that they can be employed in virtually anygraphical user interface (GUI).

Other features and advantages of the present invention will becomeapparent to one with skill in the art upon examination of the followingdrawings and detailed description. It is intended that all suchadditional features and advantages be included herein within the scopeof the present invention, as is defined by the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

In the accompanying drawings:

FIG. 1A is an elevation view of the hand-held image capture andcommunication appliance according to the present invention, whichdepicts a side of the unit containing the display screen, operationbuttons, and navigation buttons;

FIG. 1B is an elevation view of the appliance of FIG. 1A depicting theopposing side to that illustrated in FIG. 1A, which contains the capturebutton for performing an image capture;

FIG. 1C is an elevation view of the appliance of FIGS. 1A and 1Bdepicting an end of the unit, which contains the power button;

FIG. 1D is an elevation view of the appliance of FIGS. 1A, 1B, and 1Cdepicting the opposing end to that illustrated in FIG. 1C, whichcontains a brightness button for adjusting the visual clarity of thedisplay screen;

FIG. 2 is a high-level block diagram of the internal hardware andsoftware architecture of the appliance illustrated in FIGS. 1A-1D;

FIG. 3 is a high-level state diagram of the application software of FIG.2;

FIGS. 4A and 4B illustrate the tools menus displayed on the displayscreen of FIG. 1A;

FIG. 5 illustrates the send menu displayed on the display screen of FIG.1A;

FIG. 6 illustrates the delete menu displayed on the display screen ofFIG. 1A;

FIG. 7 illustrates the help menu displayed on the display screen of FIG.1A;

FIGS. 8A and 8B depict memory usage indicator icons on the displayscreen of FIG. 1A that provide a memory utilization report for theappliance;

FIG. 8C illustrates a thumbnail view of a captured image on the displayscreen of FIG. 1A;

FIG. 8D illustrates a zoom view of a captured image on the displayscreen of FIG. 1A;

FIG. 8E illustrates the zoom view of a captured image of FIG. 8D on thedisplay screen of FIG. 1A, together with a metaphorical icon surroundedby directional arrows;

FIG. 8F illustrates the thumbnail view of FIG. 8C on the display screenof FIG. 1A, together with a metaphorical icon with directional arrows;

FIG. 9 illustrates the speed error message together with navigationalarrow descriptors as displayed on the display screen of FIG. 1A;

FIG. 10 illustrates a progress box giving the status of image processingtogether with a navigational arrow descriptor, as displayed on thedisplay screen of FIG. 1A;

FIG. 11 illustrates the calibration instructions as displayed on thedisplay screen of FIG. 1A;

FIG. 12 illustrates a capturing a page help screen together withnavigational arrow descriptors as displayed on the display screen ofFIG. 1A;

FIG. 13 illustrates a momentary help screen instructing the user toinitiate a capture as displayed on the display screen of FIG. 1A;

FIG. 14A illustrates the first image of an attached group of capturedimages together with navigational arrow descriptors as displayed on thedisplay screen of FIG. 1A;

FIG. 14B illustrates the last image of an attached group of capturedimages together with navigational arrow descriptors as displayed on thedisplay screen of FIG. 1A;

FIG. 14C illustrates an image within an attached group of capturedimages together with navigational arrow descriptors as displayed on thedisplay screen of FIG. 1A; and

FIGS. 15A, 15B and 15C are flowcharts describing the architecture andoperation of the menu/navigation interface software module of FIG. 2.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Reference is now made to the drawings wherein like reference numeralsdesignate corresponding parts throughout these several figures. Itshould be understood by those skilled in the art that some aspects ofthe present invention may be practiced on any apparatus for the purposesof navigating menus and viewing multiple images, not limited toapparatuses which include or do not include image capturing capabilitiesthrough a photoelement array or scanning. For example, a user may usethe menu/image navigation interface of the present invention fornavigating menus and viewing multiple images or pages on different typesof computers or appliances.

Architecture of the Image Capture and Communication Appliance

A portable, hand-held, image capture and communication appliance 22embodying the principles of the present invention is shown in FIGS. 1Athrough 1D. Specifically, FIG. 1A depicts one side (i.e., front) ofappliance 22 where a flat-panel display 24 along with user operationbuttons 26, 28, 32, 34, 36, 38 and user navigation buttons 42, 44, 46,48 are located. Display 24 is preferably of the flat-panel variety toaccommodate the hand size dimensions of appliance 22. Common types offlat-panel displays suitable for use in the present invention includeelectro-luminescent displays, gas plasma discharge displays, liquidcrystal displays (LCDs) and field emission displays (FEDs). Display 24is the means by which information, including captured images, text,icons, and animations, is communicated to the user. The user operationbuttons comprise an image send or transmit button 26, an image zoombutton 28, an image rotate button 32, an image delete button 34, a helputility button 36 and a tools menu button 38. Send, zoom, rotate, anddelete buttons 26, 28, 32 and 34 allow the user to electronicallymanipulate an image or page that has been scanned into memory throughphotoelement array 52. Activation of tools button 38 presents the userwith a menu that includes possible image operations (e.g., imageattachment/grouping, image detachment/ungrouping), changing the mode ofappliance 22 (i.e., toggling between text (binary) capture and image(grayscale) capture), calibrating appliance 22, displaying a screenidentifying important specifications such as a model number, hardware orsoftware release number, memory usage, selecting a page size forprinting, etc. or other user utilities not deserving of a dedicatedexternal button for activation. Help button 36 provides the user withaccess to both general tutorials, process animation, and how—toinstructions on the operation of appliance 22 and context sensitiveinstruction when requested while another operation or menu is active.The navigation buttons include an up button 42, a down button 44, a leftbutton 46, and a right button 48 and are controlled by the user to steera course through menu items and to view images or pages that have beencaptured in memory.

FIG. 1B shows the side of appliance 22 opposite that illustrated in FIG.1A (i.e., back). The back side of appliance 22 includes image capturebutton 54, which is depressed by a user to scan an image throughphotoelement array 52 and is released once the image is captured. Apower button 56 is included at one end of appliance 22 as shown in FIG.1C and a contrast control 58 for display 24 is located at the other endof appliance 22 as shown in FIG. 1D. The positioning of the variousbuttons, power switch 56 and contrast control 58 on appliance 22 asshown in FIGS. 1A through 1D is merely exemplary and can be modified asneeded to satisfy the ergonomic requirements of the targeted usercommunity.

Referring now to FIG. 2, the internal architecture of appliance 22 willbe described hereafter. Appliance 22 includes a processor 62, whichcommunicates with a memory 64 via address/data bus 66. Processor 62 canbe any commercially available or custom microprocessor suitable for anembedded application. Memory 64 is representative of the overallhierarchy of memory devices containing the software and data used toimplement the functionality of appliance 22. Memory 64 can include, butis not limited to, the following types of devices: cache, ROM, PROM,EPROM, EEPROM, flash, SRAM, and DRAM. As shown in FIG. 2, memory 64holds four major categories of software and data used in appliance 22:the operating system 68; the application software 70; the I/O devicedrivers 72; and the image data 74 generated for each scan. Operatingsystem 68 should be designed for real time embedded applications and,preferably, is relatively compact to make the most efficient use ofmemory 64. One such example of a real time operating system meetingthese criteria is the PSOSYSTEM operating system (pSOSystem® or pSOS®)sold by Integrated Systems, Inc., Santa Clara, Calif., U.S.A., which isused in the preferred embodiment of the present invention. I/O devicedrivers 72 include software routines accessed through operating system66 by application software 70 to communicate with devices such asdisplay 24, certain memory components 64 and I/O ports such as a serialport or infra red (IR) port for transferring data to another appliance,device or system. The digital representations of the images captured byappliance 22 is denoted by image data 74. The format used for storingthe images should be compatible with application software 70. One commonformat used for encoding images is the JPEG standard; however, otherpublic or proprietary standards can be used with equal success. In thepreferred embodiment, CCITT-G4, which is designed for facsimile usageand black and white images, is used. Finally, application software 70comprises the control programs that implement the various features ofappliance 22. Application software 70 and devices drivers 72 aretypically written in a high-level programming language such as C or C++for development convenience. Nevertheless, some drivers or applicationmodules are sometimes written in assembly or machine language tooptimize speed, memory usage or layout of the software in memory. In thepreferred embodiment, the present invention uses C language to implementapplication software 70 and device drivers 72 and assembly language forthe most time-critical sections.

Application software 70 can be broken into several modules correspondingto the various features of appliance 22, as shown in FIG. 2. Thesesoftware modules include an initialization module 76, a capture pagemodule 78, a thumbnail view module 82, a zoom view module 84, a pagerotation module 86, an attach page module 88, a detach page module 92, adelete page module 94, a send page module 96, an error utility module98, a help utility module 102 and a menu/navigation interface module104. Note that an image captured in memory is interchangeably referredto herein as a “page” because the image is portrayed in appliance 22 asa physical page of text and/or imagery. A brief overview of each of theaforementioned modules follows hereafter.

Initialization module 76 contains the boot software that is invoked whenappliance 22 powers up. This module works closely with operating system68 and device drivers 72 to perform any hardware initialization forprocessor 62, memory devices 64, display 24, and software initializationfor global resources, such as message queues and buffers, system tasks,and memory partitions. Capture page module 78 controls the acquisitionof images through photoelement array 52 and their conversion into asuitable format for storage in memory 64. Thumbnail view module 82provides the default visual for pages and icons shown on display 24. Thethumbnail view presents an entire page on display 24 as illustrated inFIG. 8C. Zoom view module 84 allows the user to magnify a portion of apage as illustrated in FIG. 8D. Page rotation module 86 allows the userto rotate a page either in thumbnail or zoom view in 90° increments.Attach page module 88 allows the user to logically join pages togetherto form a group of pages that can be deleted, sent or viewed as anindividual unit, but not rotated or zoomed. Rotation and zoom alwaysapply only to the current page. Conversely, detach page module 92 allowsthe user to separate a page or pages from a previously formed group.Delete page module 94 allows the user to purge a page or group of pagesfrom memory 64. Send page module 96 allows the user to transfer a pageor group of pages to another appliance, device or system through theserial or IR communication ports of appliance 22. Error utility module98 provides notification to the user when the user attempts an invalidoperation. Help utility module 102 provides the user, in real time, withgeneral instructions and animations on operating appliance 22 andcontext sensitive instructions for performing a specific operation.Lastly, menu/navigation interface module 104 provides the user withgraphical menus for performing various operations and processes theuser's response thereto. Moreover, menu/navigation interface module 104responds to navigation buttons 42, 44, 46, and 48 that allow the user tosteer a course through the graphical menus and view the stored pages.The operation of menu/navigation interface module 104 will be discussedin detail hereinafter.

A high level state diagram for application software 70 is shown in FIG.3. This state diagram is useful for gaining a broad understanding of theoperation of application software 70 and its associated softwaremodules. These states are representative of tasks or processes inapplication software 70 that act on messages from a message queue, whichare generated as a result of user interaction with appliance 22 (i.e.,activation of buttons). Appliance 22 and application software 70 beginand terminate from the off state 106, which is controlled by the userthrough operation of power switch 56. Off state 106 can clearly beentered from any other state in response to a user turning appliance 22off through switch 56. When a user turns switch 56 to the on position,the system will pass through a transient initialization state 108 duringwhich time initialization module 76 is invoked to perform its functions.Once system initialization is complete, the system enters the thumbnailview state 112, which is the default state for viewing any capturedimages. From thumbnail view state 112, the system can transition to anyone of several possible states depending on the action by the user. Forexample, the capture button can be pressed to enter capture state 114 toperform an image capture. After the image is captured, the button isreleased to return to thumbnail view state 112. If the user wishes tochange the orientation of the captured image, then activation ofrotation button 32 will rotate the captured image 90° with eachinvocation. Moreover, now that an image is captured in memory 64, a usercan obtain a magnified view of a portion of the image or page bypressing zoom button 28 to enter zoom view state 116. Similar tothumbnail view state 112, the magnified image can also be rotatedthrough application of rotation button 32. The system will return tothumbnail view state 112 through operation of zoom button 28 orperforming certain actions such as capture, send, delete, attach,detach, etc. Additionally, the thumbnail view state 112 includesfunctionality for the empty (no images) state and the image verificationstate.

From thumbnail view state 112, one of four menu states can be entereddepending on the choice made by the user. First, activation of toolsbutton 38 will transition the system into tools menu state 118 where amenu of possible page operations and/or features is exhibited on display24 as illustrated in FIGS. 4A and 4B. Second, activation of send button26 will transition the system into send menu state 122 where a menu ofoptions for transferring a page or group of pages to another appliance,device or system is exhibited on display 24 as illustrated in FIG. 5.Third, activation of delete button 34 will transition the system intodelete menu state 124 where a menu of options for deleting a page orgroup of pages from memory 64 is exhibited on display 24 as illustratedin FIG. 6. Lastly, activation of help button 36 will transition thesystem into help menu state 126 where a menu of help topics is exhibitedon display 24 as illustrated in FIG. 7. Once any of the aforementionedmenu states is reached, the user can choose a desired menu option byusing navigation buttons 42 and 44 and then validating the choice bypressing a confirmation button. In the preferred embodiment of thepresent invention, the confirmation button is simply the button by whichthe present menu on display is accessed. An icon indicating theappropriate confirmation button is displayed in the lower left hand sideof the menus as illustrated in FIGS. 4A through 7. Menu states may beexited by simply invoking navigation button 46 to transition to aprevious state.

From some states, an invalid response by the user (i.e., user presses aninactive button) will be ignored or will result in a transition to thedefault message handler state 128 where the user response is interpretedthrough the message that was generated internally and a transition ismade to the error dialog state 132 to notify the user of their error viaa message or graphic on display 24. Inactive buttons will occasionallyalso display a blinking icon to communicate to the user the selection ofthe inactive button and which buttons are active. Alternatively, errordialog state 132 can be entered directly if application software 70detects an error in the execution of a valid operation. The most commonexample of this is when the user follows an improper capture path withappliance 22 during the image capture process. An example of such anerror is displayed in FIG. 9.

The features provided by the menu/navigation interface software module104 will be described hereafter with frequent reference to (a) thearchitecture and operation of the application software 70 of FIG. 2; (b)the flowcharts of FIG. 15A, FIG. 15B and FIG. 15C; and (c) the capturedpage illustrations of FIGS. 4A through FIG. 14C.

Operation of the Menu/Navigation Interface and Method

Recall from the state diagram of FIG. 3 that when power is provided viaswitch 56 (FIG. 1C) application software 70 passes through a transientinitialization state 108 to reach thumbnail view state 112, which is thedefault state for capturing images using capture button 54 and viewingimages. During the thumbnail view state 112 and before any images havebeen captured, the navigation buttons 42, 44, 46, 48 do not have anyfunctionality other than to invoke a momentary message box indicatingwhich button to press, the capture button 54, to begin an image capture.Once the user begins an image capture, the menu/navigation interface andmethod make it possible for the user to cancel the acquisition of animage by pressing the left navigation button 46 (FIG. 1A) during thecapturing process, denoted by a “Saving . . . ” dialog on the display 24(FIG. 1A) of the appliance 22 (FIGS. 1A-1D). The availability of thisfunctionality is communicated to the user by a notation appearing withinthe dialog labeling the left navigation button 46 (FIG. 1A) as “Cancel”as illustrated in FIG. 10. The use of the left navigation button 46(FIG. 1A) for this functionality eliminates the need of an additionalinput device such as a mouse pointer as is typically found inconventional windowed systems to point and click on a “Cancel” or

“Quit” button.

Upon successfully capturing an image, the image is displayed as athumbnail size icon (FIG. 8C) on the display 24 (FIG. 1A). From thisstate, the appliance may reach various other states, i.e. TOOLS MENU118, SEND MENU 122, DELETE MENU 124, HELP MENU 126 where users interactwith a menu or message box to operate the appliance in that state.Additionally, the ZOOM VIEW state enables the user to position ametaphoric icon over an area of the thumbnail image to be magnified.ERROR DIALOG messages can be entered from any state. In all of theaforementioned states, the navigation buttons serve functions inconjunction with other operational buttons to enable the user to operatethe appliance.

FIG. 15A, FIG. 15B and FIG. 15C are functional flowcharts detailing theoperation of the navigation buttons of the menu/navigation interface andmethod during different states of the appliance.

In FIG. 15A, as aforementioned, the appliance is initialized at powerup. Program code within the menu/navigation interface module then checksif a menu is active at step 134. If so, the left navigation button isprogrammed to “Cancel” the active menu. Additionally, the up navigationbutton and the down navigation button is programmed to scroll ahighlight bar through the selectable items within the menu at step 136as illustrated in FIG. 4A through FIG. 7. If the program code finds thata menu is not active, it then checks if the zoom state is active at step144. If the zoom state is active, all navigation buttons are programmedto operate in conjunction with the zoom button 28 (FIG. 1A) todirectionally move a metaphoric icon across the image to select an areato magnify to a greater pixel resolution at step 146 as illustrated inFIG. 8E and FIG. 8F and/or to pan/scroll the zoomed page. If the zoomstate is not active, program code checks if a message screen is activeat step 154. If so, the up navigation button and the down navigationbutton are programmed to “scroll” a message which is too large to fit inthe message dialog box. This instance may involve an error message, ahelp message or a status message as displayed in FIG. 9, FIG. 11 andFIG. 12. Scrollable functionality is communicated to the user by up anddown navigation arrows along with “More” being displayed in the headeror footer of the dialog box. Additionally, the left navigation buttoncancels the message box at step 156. If a menu, zoom state, or messagescreen is not active, the program determines that a captured image ormemory usage indicator is actively displayed at step 158.

Next, in FIG. 15B, it is determined if an empty memory usage indicator(FIG. 8A) is displayed at step 164. If so, in the preferred embodiment,all navigation buttons are programmed to display a message on how tobegin an image capture at step 166 as displayed in FIG. 13. If an emptymemory usage indicator (FIG. 8A) is not being displayed, it isdetermined if a single image or a (non-empty) memory usage indicator(FIG. 8B) is displayed at step 174. If so, in the preferred embodiment,the left and right navigation buttons 46 and 46 (FIG. 1A) are programmedto slide the displayed image or memory usage indicator (FIG. 8B) to theright or left direction and off the screen and slide a next or previouscaptured image or memory usage indicator (FIG. 8B) in memory onto thedisplay at step 176. It should be understood by those skilled in the artthat the up and down arrows could have optionally been used to slide theimage up or down off of the display. However, in the preferredembodiment, depressing the up or down navigation buttons will blink livearrow button icons on the screen at step 176. If a single image ormemory usage indicator (FIG. 8B) is not displayed and an empty memoryusage indicator is not displayed at step 164, the program codedetermines that a group image is being displayed at step 184.

Referring to FIG. 15C, if it is determined that a group image isdisplayed, it is determined if the first image of the group FIG. 14A isbeing displayed at step 184. If so, then the left navigation button isprogrammed to slide the entire group of thumbnail images to the rightand off the display to display the previous thumbnail image or memoryusage indicator at the previous memory location before the group ofthumbnail images 186. Similarly, the right navigation button isprogrammed to slide the entire group of thumbnail images to the left todisplay the next thumbnail image or group of thumbnail images or memoryusage indicator stored at the next memory location after the group ofthumbnails at step 186. The down navigation button is programmed todisplay the next thumbnail image in the group at step 186. The upnavigation button is programmed to momentarily blink a live down arrowbutton icon to help users discover live buttons 186 as shown in FIG.14A. If the first image of the group is not displayed, it is thendetermined if the last image of the group FIG. 14B is displayed at step194. If so, the up navigation button is programmed to display theprevious thumbnail image stored in the thumbnail group at step 196. Thedown navigation button will momentarily blink a live up arrow buttonicon to help users discover live buttons at step 196 as shown in FIG.14B. If neither the first image nor the last image of a group isdisplayed, but a group image is displayed, it is determined that animage within a group FIG. 14C is being displayed at step 198. In thisinstance, all navigation buttons are functional with the up and downnavigation buttons being programmed to navigate within the group ofimages and the left and right navigation buttons closing the group anddisplaying either the previous image stored in memory before the groupedimages or the next image stored in memory after the grouped images atstep 198 or memory usage indicator.

The menu navigation interface program 104 of the present invention canbe implemented in hardware, software, firmware, or a combinationthereof. In the preferred embodiment(s), the menu navigation interfaceprogram 104 is implemented in software or firmware that is stored in amemory 64 and that is executed by a suitable instruction executionsystem.

The menu navigation interface program 104, which comprises an orderedlisting of executable instructions for implementing logical functions,can be embodied in any computer-readable medium for use by or inconnection with an instruction execution system, apparatus, or device,such as a computer-based system, processor-containing system, or othersystem that can fetch the instructions from the instruction executionsystem, apparatus, or device and execute the instructions. In thecontext of this document, a “computer-readable medium” can be any meansthat can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device. The computer readable medium can be, forexample but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, device,or propagation medium. More specific examples (a nonexhaustive list) ofthe computer-readable medium would include the following: an electricalconnection (electronic) having one or more wires, a portable computerdiskette (magnetic), a random access memory (RAM) (magnetic), aread-only memory (ROM) (magnetic), an erasable programmable read-onlymemory (EPROM or Flash memory) (magnetic), an optical fiber (optical),and a portable compact disc read-only memory (CDROM) (optical). Notethat the computer-readable medium could even be paper or anothersuitable medium upon which the program is printed, as the program can beelectronically captured, via for instance optical scanning of the paperor other medium, then compiled, interpreted or otherwise processed in asuitable manner if necessary, and then stored in a computer memory 64.

In concluding the detailed description, it should be noted that it willbe obvious to those skilled in the art that many variations andmodifications can be made to the preferred embodiment withoutsubstantially departing from the principles of the present invention.All such variations and modifications are intended to be included hereinwithin the scope of the present invention, as set forth in the followingclaims.

What is claimed is:
 1. A method for navigating among a plurality ofimage data using a hand-held image capturing and communicationappliance, said method comprising the steps of: acquiring image data forsaid appliance; saving said image data in a memory; displaying saidimage data on a display; providing a menu interface for navigating aplurality of menus of said menu interface, said menu interface usingprogram code stored in said memory and executed by a processor;navigating among a plurality of said image data using said menuinterface; providing a plurality of navigation buttons, said pluralityof navigation buttons including a left navigation button, a rightnavigation button, an up navigation button and a down navigation button;displaying a previous image among attached images if said image isgrouped into a logical unit when said menu interface is inactive andsaid up navigation button is selected; and displaying a next image amongsaid attached images if said image is grouped into a logical unit whensaid menu interface is inactive and said down navigation button isselected.
 2. A method for navigating among a plurality of image datausing a hand-held image capturing and communication appliance, saidmethod comprising the steps of: acquiring image data for said appliance;saving said image data in a memory; displaying said image data on adisplay; providing a menu interface for navigating a plurality of menusof said menu interface, said menu interface using program code stored insaid memory and executed by a processor; navigating among a plurality ofsaid image data using said menu interface; providing a plurality ofnavigation buttons, said plurality of navigation buttons including aleft navigation button, a right navigation button, an up navigationbutton and a down navigation button; displaying a previous logicallygrouped unit of said image data stored in a previous contiguous memorylocation in said memory when said menu interface is inactive and saidleft navigation button is selected; and displaying a next logicallygrouped unit of said image data stored in a next contiguous memorylocation in said memory when said menu interface is inactive and saidleft navigation button is selected.